package com.sunwayworld.basemodule.rm.train.examtmpl.bean;

import java.time.LocalDateTime;

import org.springframework.format.annotation.DateTimeFormat;

import com.alibaba.fastjson.annotation.JSONField;
import com.sunwayworld.framework.data.annotation.Id;
import com.sunwayworld.framework.data.annotation.NotNull;
import com.sunwayworld.framework.data.annotation.Table;
import com.sunwayworld.framework.data.annotation.Transient;
import com.sunwayworld.framework.support.domain.AbstractInsertable;
import com.sunwayworld.framework.support.domain.Activatable;
import com.sunwayworld.framework.support.domain.Insertable;
/**
 * 试卷模板
 * @author zhangpf 2020年3月9日
 *
 */
@Table("T_CORE_EXAM_TMPL")
public class LimsCoreExamTmplBean extends AbstractInsertable<Long> implements Insertable<Long>, Activatable<Long> {

    @Transient
    private static final long serialVersionUID = -2472665167183562213L;

    @Id
    private Long id;// 主键

    private String tmplName; // 试卷模板名称

    @NotNull(defaultValue = "0")
    private Long singleChoiceQty; // 单选题个数

    @NotNull(defaultValue = "0")
    private Long singleChoiceScore; // 单选题分值

    @NotNull(defaultValue = "0")
    private Long multipleChoiceQty; // 多选题个数
    
    @NotNull(defaultValue = "0")
    private Long multipleChoiceScore; // 多选题分值
    
    @NotNull(defaultValue = "0")
    private Long completionQty; // 填空题个数
    
    @NotNull(defaultValue = "0")
    private Long completionScore; // 填空题分值
    
    @NotNull(defaultValue = "0")
    private Long judgementQty; // 判断题个数
    
    @NotNull(defaultValue = "0")
    private Long judgementScore; // 判断题分值
    
    @NotNull(defaultValue = "0")
    private Long shortAnswerQty; // 简答题个数
    
    @NotNull(defaultValue = "0")
    private Long shortAnswerScore; // 简答题分值
    
    @NotNull(defaultValue = "0")
    private Long totalScore; // 总分数
    
    @NotNull(defaultValue = "0")
    private Long citationQty; // 引用次数
    
    private String createdById;// 制单人编码
    private String createdByName;// 制单人名称
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createdTime;// 制单时间
    private String createdByOrgId;// 制单人单位编码
    private String createdByOrgName;// 制单人单位名称
    
    @NotNull(defaultValue = "0")
    private String activatedFlag; // 启用标志
    private String activatedById; // 启用人编码
    private String activatedByName; // 启用人名称
    @JSONField(format = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime activatedTime; // 启用时间
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getTmplName() {
        return tmplName;
    }
    public void setTmplName(String tmplName) {
        this.tmplName = tmplName;
    }
    public Long getSingleChoiceQty() {
        return singleChoiceQty;
    }
    public void setSingleChoiceQty(Long singleChoiceQty) {
        this.singleChoiceQty = singleChoiceQty;
    }
    public Long getSingleChoiceScore() {
        return singleChoiceScore;
    }
    public void setSingleChoiceScore(Long singleChoiceScore) {
        this.singleChoiceScore = singleChoiceScore;
    }
    public Long getCompletionQty() {
        return completionQty;
    }
    public void setCompletionQty(Long completionQty) {
        this.completionQty = completionQty;
    }
    public Long getCompletionScore() {
        return completionScore;
    }
    public void setCompletionScore(Long completionScore) {
        this.completionScore = completionScore;
    }
    public Long getMultipleChoiceQty() {
        return multipleChoiceQty;
    }
    public void setMultipleChoiceQty(Long multipleChoiceQty) {
        this.multipleChoiceQty = multipleChoiceQty;
    }
    public Long getMultipleChoiceScore() {
        return multipleChoiceScore;
    }
    public void setMultipleChoiceScore(Long multipleChoiceScore) {
        this.multipleChoiceScore = multipleChoiceScore;
    }
    public Long getJudgementQty() {
        return judgementQty;
    }
    public void setJudgementQty(Long judgementQty) {
        this.judgementQty = judgementQty;
    }
    public Long getJudgementScore() {
        return judgementScore;
    }
    public void setJudgementScore(Long judgementScore) {
        this.judgementScore = judgementScore;
    }
    public Long getShortAnswerQty() {
        return shortAnswerQty;
    }
    public void setShortAnswerQty(Long shortAnswerQty) {
        this.shortAnswerQty = shortAnswerQty;
    }
    public Long getShortAnswerScore() {
        return shortAnswerScore;
    }
    public void setShortAnswerScore(Long shortAnswerScore) {
        this.shortAnswerScore = shortAnswerScore;
    }
    public Long getTotalScore() {
        return totalScore;
    }
    public void setTotalScore(Long totalScore) {
        this.totalScore = totalScore;
    }
    public Long getCitationQty() {
        return citationQty;
    }
    public void setCitationQty(Long citationQty) {
        this.citationQty = citationQty;
    }
    public String getCreatedById() {
        return createdById;
    }
    public void setCreatedById(String createdById) {
        this.createdById = createdById;
    }
    public String getCreatedByName() {
        return createdByName;
    }
    public void setCreatedByName(String createdByName) {
        this.createdByName = createdByName;
    }
    public LocalDateTime getCreatedTime() {
        return createdTime;
    }
    public void setCreatedTime(LocalDateTime createdTime) {
        this.createdTime = createdTime;
    }
    public String getCreatedByOrgId() {
        return createdByOrgId;
    }
    public void setCreatedByOrgId(String createdByOrgId) {
        this.createdByOrgId = createdByOrgId;
    }
    public String getCreatedByOrgName() {
        return createdByOrgName;
    }
    public void setCreatedByOrgName(String createdByOrgName) {
        this.createdByOrgName = createdByOrgName;
    }
    public String getActivatedFlag() {
        return activatedFlag;
    }
    public void setActivatedFlag(String activatedFlag) {
        this.activatedFlag = activatedFlag;
    }
    public String getActivatedById() {
        return activatedById;
    }
    public void setActivatedById(String activatedById) {
        this.activatedById = activatedById;
    }
    public String getActivatedByName() {
        return activatedByName;
    }
    public void setActivatedByName(String activatedByName) {
        this.activatedByName = activatedByName;
    }
    public LocalDateTime getActivatedTime() {
        return activatedTime;
    }
    public void setActivatedTime(LocalDateTime activatedTime) {
        this.activatedTime = activatedTime;
    }
}